package com.itheima02.day11test;

import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
import java.util.stream.Stream;

/**
 * @author 刘全
 * @date 2021/7/28
 */
/*问题2：
        以下是某不知名机构评出的全球最佳影片及华人最佳影片前十名 ：
        全球
        　　1、 《教父》
        　　2、 《肖申克的救赎》
        　　3、 《辛德勒的名单》
        　　4、 《公民凯恩》
        　　5、 《卡萨布兰卡》
        　　6、 《教父续集》
        　　7、 《七武士》
        　　8、 《星球大战》
        　　9、 《美国美人》
        　　10、 《飞跃疯人院》　
        华人
        　  1、 《霸王别姬》
        　　2、 《大闹天宫》
        　　3、 《鬼子来了》
        　　4、 《大话西游》
        　　5、 《活着》
        　　6、 《饮食男女》
        　　7、 《无间道》
        　　8、 《天书奇谭》
        　　9、 《哪吒脑海》
        　　10、 《春光乍泄》
        1、现将两个榜单中的影片名，分别按排名顺序依次存入两个ArrayList集合
        2、通过流的方式
        1）打印全球影片排行榜中的前三甲影片名
        2）打印华人影片排行榜中倒数5名的影片名
        3）将两个排行榜中的前5名挑出来共同存入新的集合*/
public class Test2 {
    public static void main(String[] args) {
        ArrayList<String> list1 = new ArrayList<>(List.of("《教父》","《肖申克的救赎》","《辛德勒的名单》",
                "《公民凯恩》","《卡萨布兰卡》", "《教父续集》","《七武士》","《星球大战》","《美国美人》","《飞跃疯人院》"));

        ArrayList<String> list2 = new ArrayList<>(List.of("《霸王别姬》", "《大闹天宫》", "《鬼子来了》",
                "《大话西游》", "《活着》", "《饮食男女》", "《无间道》", "《天书奇谭》", "《哪吒闹海》", "《春光乍泄》"));

        //打印全球影片排行榜中的前三甲影片名
        System.out.println("全球影片排行榜中的前三甲影片为:");
        list1.stream().limit(3).forEach(name-> System.out.println(name));
        //打印华人影片排行榜中倒数5名的影片名
        System.out.println("===================");
        System.out.println("华人影片排行榜中倒数5名的影片为:");
        list2.stream().skip(5).forEach(name-> System.out.println(name));
        //将两个排行榜中的前5名挑出来共同存入新的集合
        System.out.println("===================");
        Stream<String> stream1 = list1.stream().limit(5);
        Stream<String> stream2 = list2.stream().limit(5);
        List<String> newList = Stream.concat(stream1, stream2).collect(Collectors.toList());
        for (String s : newList) {
            System.out.println(s);
        }
    }
}
